﻿/**
 * @author sminutoli
 * version 1.0
 * Le saqué el limit:Area del constructor, porque sino cada vez que aparece el botón en pantalla se hace un setLimitArea();
 * Habría que ver qué onda para poder setear que dispachee eventos mientras lo van moviendo tbç
 * 26/07/07 -> solucioné el problema del onPress(), faltaba matar el evento
 */
 
import com.dinmax.flash.draw.common.*
class com.dinmax.flash.draw.cabeza.ButtonCabezaDraggable
extends com.dinmax.flash.draw.cabeza.ButtonCabeza
implements com.dinmax.flash.draw.drag.Draggable {
	
	private var limitArea:Area;
	
	/*
	public function ButtonCabezaDraggable(limit:Area) {
		//this.setLimitArea(limit);
	}
	*/
	
	public function getLimitArea():Area {
		return limitArea;
	};

	public function setLimitArea(limitArea:Area):Void {
		this.limitArea = limitArea;
		return;
	};

	function onPress():Void{
		//super.onPress();
		this.gotoAndStop(ButtonCabezaDraggable.ONPRESS);
		var limit:Area = this.getLimitArea();
		//trace("ButtonCabezaDraggable.as | limit: "+limit);
		if(limit){
			var left:Number = limit.getInitXY().getX();
			var top:Number = limit.getInitXY().getY();
			var right:Number = limit.getFinalXY().getX();// - this._width;
			var bottom:Number = limit.getFinalXY().getY(); //- this._height;
			//trace("ButtonCabezaDraggable.as | onPress() l: "+left+" | t: "+top+" | r: "+right+" | b: "+bottom);
			this.startDrag(false, left, top, right, bottom);
		} else {
			this.startDrag();
		};
		var clip:MovieClip = this.createEmptyMovieClip('mcDumb', this.getNextHighestDepth());
		clip.onEnterFrame = function():Void {
			this._parent.test();
			return;
		}
	};
	function onRelease():Void{
		this["mcDumb"].removeMovieClip(); // 26/07/07
		super.onPress();
		super.onRelease();
		this.stopDrag();
	};
	
	function test():Void {
		super.onPress();
		return;
	};
	
	public function setPos(position:Point):Void {
		//trace("ButtonCabezaDraggable.as | setPos x= "+position.getX()+" y= "+position.getY());
		this._x = position.getX();
		this._y = position.getY();
	};
}